﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace vudu.Logica.Clases
{
    class HorarioPreMatricula
    {

        #region Atributos

         //En la siguiente region encontraremos los atributos de la clase:
         //"_nombre" llevara el nombre dado al horario por el alumno al ser creado.
         //"_semestre" sera el valor correspondiente del semestre en que el alumno se encuentra.
         //"_termino" XXX.
         //"_numeroRegistros" XXX.
         //"_status" aqui se almacenara el estado en que se encuentra el horario y sera entre Aprobado,
         //     Pendiente o Historial.
         //"_listaSecciones" es una lista que contendra todas las materias que se desean cursar.

        private string _nombre;
        private string _semestre;
        private string _termino;
        private string _numeroRegistro;
        private int _unidadCredito;
        private string _estatus;
        private List<SeccionMateria> _listaSecciones;

        #endregion

        #region Constructor

        public HorarioPreMatricula(string nuevoNombre, string nuevoSemestre, string nuevoTermino, string nuevoNumeroRegistro,
                       int nuevoUnidadCredito, string nuevoEstatus, List<SeccionMateria> nuevaListaSecciones)
        {
            Nombre = nuevoNombre;
            Semestre = nuevoSemestre;
            Termino = nuevoTermino;
            NumeroRegistro = nuevoNumeroRegistro;
            UnidadCredito = nuevoUnidadCredito;
            Estatus = nuevoEstatus;
            ListaSecciones = nuevaListaSecciones;
        }

        #endregion

        #region Gets y Sets

        public string Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }
       

        public string Semestre
        {
            get { return _semestre; }
            set { _semestre = value; }
        }
        

        public string Termino
        {
            get { return _termino; }
            set { _termino = value; }
        }
        

        public string NumeroRegistro
        {
            get { return _numeroRegistro; }
            set { _numeroRegistro = value; }
        }
        

        public int UnidadCredito
        {
            get { return _unidadCredito; }
            set { _unidadCredito = value; }
        }

        public string Estatus
        {
            get { return _estatus; }
            set { _estatus = value; }
        }

        public List<SeccionMateria> ListaSecciones
        {
            get { return _listaSecciones; }
            set { _listaSecciones = value; }
        }

        #endregion 

        #region Metodos de Manejo

        public bool VerificarChoqueMaterias()
        {
            return true;
        }

        public bool VerificarUnidadesDeCredito()
        {
            return true;
        }

        public bool AgregarHorario()
        {
            return true;
        }

        public bool ConsultarHorario()
        {
            return true;
        }

        public bool EliminarHorario()
        {
            return true;
        }

        public bool ModificarHorario()
        {
            return true;
        }

        public bool GuardarHorarioFinal()
        {
            return true;
        }

        public bool EnviarCorreo()
        {
            return true;
        }

        public bool ConsultarMateria()
        {
            return true;
        }

        #endregion
    }
}
